AWS S3
Общее описание
Компонент AWS2 S3 поддерживает хранение и извлечение объектов сервиса Amazon S3 и других S3 совместимых сервисов.
Блок AWS S3 может использоваться в качестве:
-
блока-отправителя
-
блока-получателя.
Настройка блока
В данном разделе описаны параметры блока AWS S3, которые необходимо заполнить при его настройке.
Базовые параметры
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Dynamic Endpoint | dynamicEndpoint | Доступен только для блоков-отправителей Параметр позволяет включить встроенную функциональность динамического определения вызываемой конечной точки. При включении параметра структура блока меняется таким образом, что в коде вместо определения "to" проставляется "toD", а значение самого вызываемого ресурса может собираться из переменной, например ${header.foo}. | False | Логическое значение |
| Connection | connection | Позволяет выбрать предсозданное подключение к конечной точке или создать новое с помощью визарда Connection Manager. | Список | |
| Description | description | Описание блока | Строка | |
| Bucket Name Or Arn | bucketNameOrArn | Обязательный параметр Название контейнера данных (бакета) или идентификатор ресурса в AWS. | Строка | |
| Auto Create Bucket | autoCreateBucket | Настройка автоматического создания бакета в S3 хранилище с именем bucketName. Настройка также будет применяться в случае, если включена опция Move After Read, и при этом будет создан бакет для перемещения destinationBucket, если он еще не существует. | False | Логическое значение |
| Delimiter | delimiter | Разделитель, который используется в запросе com.amazonaws.services.s3.model.ListObjects для извлечения только определенных объектов. | Строка | |
| Force Path Style | forcePathStyle | Определяет должен ли клиент S3 использовать URL-адрес в стиле path вместо URL-адреса в стиле виртуального хостинга. | False | Логическое значение |
| Ignore Body | ignoreBody | Если значение параметра равно True, то тело объекта S3 будет полностью проигнорировано. Если значение параметра равно False, то объект S3 будет помещен в тело. | False | Логическое значение |
| Override Endpoint | overrideEndpoint | Задает переопределение конечной точки. Этот параметр необходимо использовать в сочетании с параметром Uri Endpoint Override. | False | Логическое значение |
| Pojo Request | pojoRequest | Определяет будет ли использоваться POJO-запрос в качестве основного или нет. | False | Логическое значение |
| Policy | policy | Политика для очереди, задаваемая в методе com.amazonaws.services.s3.AmazonS3#setBucketPolicy(). | Строка | |
| Prefix | prefix | Префикс, который используется в com.amazonaws.services.s3.model.ListObjects для извлечения только определенных объектов. | Строка | |
| Region | region | Регион, в котором должен работать клиент S3. Возможные значения:
| Список | |
| Uri Endpoint Override | uriEndpointOverride | Задает переопределяющий uri конечной точки. Этот параметр необходимо использовать в сочетании с параметром Override Endpoint. | Строка | |
| Batch Message Number | batchMessageNumber | Доступен только для блоков-отправителей Количество сообщений, составляющих пакет в режиме потоковой загрузки. | 10 | Целое число |
| Batch Size | batchSize | Доступен только для блоков-отправителей Размер пакета (в байтах) в режиме потоковой загрузки. | 1000000 | Целое число |
| Buffer Size | bufferSize | Доступен только для блоков-отправителей Размер буфера в байтах в режиме потоковой загрузки. | 1000000 | Целое число |
| Delete After Write | deleteAfterWrite | Доступен только для блоков-отправителей Задает удаление файлового объекта после того, как файл S3 будет загружен. | False | Логическое значение |
| Key Name | keyName | Доступен только для блоков-отправителей Установка уникального идентификатора для элемента в бакете с помощью параметра endpoint. | Строка | |
| Multi Part Upload | multiPartUpload | Доступен только для блоков-отправителей Если значение параметра равно True, файл будет загружен частями. Размер части определяется параметром Part Size. Частями будут загружаться только файлы, размер которых превышает пороговые значения для размера части. Файлы меньшего размера будут загружены за одну операцию. | False | Логическое значение |
| Naming Strategy | namingStrategy | Доступен только для блоков-отправителей Стратегия присвоения имен, используемая в режиме потоковой загрузки. Возможные значения:
| progressive | Список |
| Operation | operation | Доступен только для блоков-отправителей Операция, которая будет производиться в случае, если нужно выполнять не только загрузку. Возможные значения:
| Список | |
| Part Size | partSize | Доступен только для блоков-отправителей Задает размер части, который используется при частичной загрузке, по умолчанию он равен 25 МБ. Минимальный размер в AWS составляет 5 МБ. Частями будут загружаться только файлы, размер которых превышает пороговые значения для размера части. Файлы меньшего размера будут загружены за одну операцию. | 26214400 | Длинное целое число |
| Restarting Policy | restartingPolicy | Доступен только для блоков-отправителей Политика перезапуска, используемая в режиме потоковой загрузки. Возможные значения:
| override | Список |
| Storage Class | storageClass | Доступен только для блоков-отправителей Класс хранилища, который необходимо задать в запросе com.amazonaws.services.s3.model.PutObjectRequest. | Строка | |
| Streaming Upload Mode | streamingUploadMode | Доступен только для блоков-отправителей Когда выбран режим потоковой передачи, загрузка в бакет будет выполняться в потоковом режиме. | False | Логическое значение |
| Streaming Upload Timeout | streamingUploadTimeout | Доступен только для блоков-отправителей Если выбран режим потоковой загрузки, то этот параметр устанавливает тайм-аут для завершения загрузки. | Длинное целое число | |
| Delete After Read | deleteAfterRead | Доступен только для блоков-получателей Удалять объекты из S3 после их извлечения. Удаление выполняется только если Exchange успешно зафиксирован (коммитится). При откате (rollback) объект не удаляется. Если параметр отключен, объекты будут извлекаться при каждом опросе — для фильтрации дубликатов потребуется блок Idempotent Consumer. | true | Логическое значение |
| Destination Bucket | destinationBucket | Доступен только для блоков-получателей Определяет целевой бакет, куда будет перемещен объект, если включен параметр moveAfterRead. | Строка | |
| Destination Bucket Prefix | destinationBucketPrefix | Доступен только для блоков-получателей Префикс для целевого бакета, который используется при перемещении объекта (если moveAfterRead = true). | Строка | |
| Destination Bucket Suffix | destinationBucketSuffix | Доступен только для блоков-получателей Суффикс для целевого бакета, который используется при перемещении объекта (если moveAfterRead = true). | Строка | |
| Done File Name | doneFileName | Доступен только для блоков-получателей Если указано, сисетма будет получать файлы только при наличии «done‑файла» (файла-маркера завершения записи). | Строка | |
| File Name | fileName | Доступен только для блоков-получателей Имя файла (ключа объекта), который нужно получить из бакета. | Строка | |
| Include Body | includeBody | Доступен только для блоков-получателей Если true, объект S3 будет прочитан и помещен в тело Exchange, после чего поток будет закрыт. Если false, в тело будет помещен сырой поток S3Object, а в заголовки — метаданные объекта. Параметр тесно связан с autocloseBody. | True | Логическое значение |
| Include Folders | includeFolders | Доступен только для блоков-получателей Если true, папки/директории будут обрабатываться (для них будут создаваться Exchanges). Если false — они будут игнорироваться. | True | Логическое значение |
| Max Connections | maxConnections | Доступен только для блоков-получателей Задает параметр maxConnections в конфигурации клиента S3 — максимальное количество одновременных соединений с сервисом. | 60 | Целое число |
| Max Messages Per Poll | maxMessagesPerPoll | Доступен только для блоков-получателей Максимальное количество объектов (сообщений), извлекаемых при каждом опросе бакета. Значение 0 или отрицательное число означает отсутствие ограничения. | 10 | Целое число |
| Move After Read | moveAfterRead | Доступен только для блоков-получателей Перемещать объекты из бакета S3 в другой бакет после их извлечения. Для выполнения операции обязательно должен быть задан параметр destinationBucket. Перемещение выполняется только если Exchange успешно зафиксирован (при откате объект не перемещается). | False | Логическое значение |
| Send Empty Message When Idle | sendEmptyMessageWhenIdle | Доступен только для блоков-получателей Определяет, следует ли отправлять служебное (пустое) сообщение, если в течение заданного времени не поступило новых данных. | False | Логическое значение |
| Proxy Host | proxyHost | Определяет прокси-сервер при создании экземпляра клиента SQS. | Строка | |
| Proxy Port | proxyPort | Определяет прокси-порт, который будет использоваться в определении клиента. | Целое число | |
| Proxy Protocol | proxyProtocol | Чтобы определить протокол прокси-сервера при создании экземпляра клиента S3 Возможные значения:
| HTTPS | Список |
| Backoff Error Threshold | backoffErrorThreshold | Количество последовательно полученных ошибок обработки, после которого включится режим пропуска запусков. | Целое число | |
| Backoff Idle Threshold | backoffIdleThreshold | Количество последовательных запросов, которые не привели к созданию или обработке данных. После достижения установленного количества включится режим пропуска запусков. | Целое число | |
| Backoff Multiplier | backoffMultiplier | Позволяет обработчику по расписанию включать режим пропуска запусков при достижении числа последовательных пустых запросов/ошибок. Этот параметр определяет количество запусков, которые будут пропущены. Когда используется этот параметр, также необходимо сконфигурировать Backoff Idle Threshold и/или Backoff Error Threshold. | Целое число | |
| Delay | delay | Задержка в миллисекундах до следующего запроса. | 500 | Длинное целое число |
| Greedy | greedy | Если значение параметра установлено в True, то Scheduled Poll Consumer запустится сразу же после того как предыдущий запуск обработал одно или несколько сообщений. | False | Логическое значение |
| Initial Delay | initialDelay | Задержка в миллисекундах до начала первого запроса. | 1000 | Длинное целое число |
| Repeat Count | repeatCount | Задает максимальное количество срабатываний. Таким образом, если вы установите значение 1, планировщик сработает только один раз. Если вы установите значение 5, он сработает только пять раз. Нулевое или отрицательное значение означает, что срабатывание происходит постоянно. | 0 | Длинное целое число |
| Run Logging Level | runLoggingLevel | Уровень логгирования обработчика. Возможные значения:
| TRACE | Список |
| Scheduled Executor Service | scheduledExecutorService | Позволяет настроить пользовательский/общий пул потоков для использования потребителем. По умолчанию у каждого потребителя есть свой собственный однопоточный пул потоков. | Строка | |
| Scheduler | scheduler | Планировщик CRON из компонента camel-spring или camel-quartz. Используйте значение spring или quartz для встроенного планировщика. | none | Строка |
| Scheduler Properties | schedulerProperties | Множественное значение. Настройка дополнительных свойств при использовании пользовательского планировщика или любого из планировщиков на основе Quartz и Spring. Это многозначный параметр с префиксом: scheduler. | Строка | |
| Start Scheduler | startScheduler | Задает автоматический запуск планировщика. | True | Логическое значение |
| Time Unit | timeUnit | Единица измерения времени для параметров Initial Delay и Delay. Возможные значения:
| MILLISECONDS | Список |
| Use Fixed Delay | useFixedDelay | Фиксированная задержка или фиксированная частота выполнения. | True | Логическое значение |
Расширенные параметры
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Customer Algorithm | customerAlgorithm | Определяет пользовательский алгоритм работы , который будет использоваться в случае, если Use Customer Key включен. | Строка | |
| Customer Key Id | customerKeyId | Определяет идентификатор клиентского ключа, который будет использоваться в случае, если Use Customer Key включен. | Строка | |
| Customer Key MD5 | customerKeyMD5 | Определите MD5 клиентского ключа, который будет использоваться в случае, если Use Customer Key включен. | Строка | |
| Aws KMSKey Id | awsKMSKeyId | Доступен только для блоков-отправителей Определяет идентификатор ключа KMS, который будет использоваться в случае, если KMS включена. | Строка | |
| Lazy Start Producer | lazyStartProducer | Доступен только для блоков-отправителей Определяет должен ли отправитель стартовать в отложенном режиме (при получении первого сообщения). Отложенный запуск можно использовать в ситуациях, когда запуск отправителя может завершиться неудачей и привести к сбою при запуске маршрута. Если отложить запуск, то сбой при запуске можно будет обработать во время маршрутизации сообщений с помощью обработчиков ошибок маршрутизации. Примечание: При обработке первого сообщения создание и старт отправителя могут занять некоторое время и увеличить общее время обработки. | False | Логическое значение |
| Auto Close Body | autocloseBody | Доступен только для блоков‑получателей Если параметр включен ( true) и при этом includeBody равен false, метод S3Object.close() будет вызван по завершении обработки Exchange. Если includeBody = false и autocloseBody = false, закрывать поток S3Object должен вызывающий код. Параметр тесно связан с настройкой includeBody. | true | Логическое значение |
| Bridge Error Handler | bridgeErrorHandler | Доступен только для блоков‑получателей Определяет стратегию обработки ошибок на уровне интеграционного моста (bridge) в Bercut ESB. Отвечает за реакцию системы на сбои при передаче сообщений между компонентами. Может включать повторные попытки отправки, перенаправление в очередь ошибок, логирование и т. д. Функция доступна только для тех сторонних компонентов, которые позволяют системе получать уведомления о возникших исключениях. Некоторые компоненты обрабатывают ошибки внутри себя — в таких случаях использование bridgeErrorHandler невозможно. | False | Логическое значение |
| Exception Handler | exceptionHandler | Доступен только для блоков‑получателей Определяет стратегию обработки исключений на уровне компонента. По умолчанию используется стандартный обработчик org.apache.camel.spi.ExceptionHandler, который логирует ошибки на уровнях WARN или ERROR и игнорирует их. Позволяет настроить кастомную логику обработки (повторные попытки, перенаправление в очередь ошибок и т. д.). | Строка | |
| Exchange Pattern | exchangePattern | Доступен только для блоков‑получателей Задает шаблон взаимодействия между компонентами в интеграционном потоке. Определяет способ передачи сообщений и ожидания ответа. Возможные значения:
| Строка | |
| In Progress Repository | inProgressRepository | Доступен только для блоков-получателей Указывает конкретное место назначения архивных журналов для чтения. | Строка | |
| Poll Strategy | pollStrategy | Доступен только для блоков-получателей Плагин org.apache.camel.PollingConsumerPollingStrategy позволяет настроить собственную реализацию для управления обработкой ошибок, которые возникают во время операции опроса до создания и маршрутизации обмена в Camel. | Строка | |
| Use Aws KMS | useAwsKMS | Доступен только для блоков-отправителей Определяет нужно ли использовать KMS или нет. | False | Логическое значение |
| Use Customer Key | useCustomerKey | Доступен только для блоков-отправителей Определяет должен ли использоваться ключ клиента или нет. | False | Логическое значение |
| Use SSES3 | useSSES3 | Доступен только для блоков-отправителей Определяет должен ли использоваться SSE S3 или нет. | False | Логическое значение |
| Amazon S3 Client | amazonS3Client | Ссылка на com.amazonaws.services.s3.AmazonS3 в реестре. | Строка | |
| Amazon S3 Presigner | amazonS3Presigner | Автоматическое подключение интерфейса S3 Presigner для запроса, используемого в основном при работе с createDownloadLink | Строка | |
| Pattern | pattern | Доступен только для блоков-отправителей Устанавливает стиль взаимодействия с присоединенной частью потока. Возможные значения:
| Список | |
| Disabled | disabled | Доступен только для блоков-отправителей Определяет будет ли отключен блок в потоке. В активированном потоке функциональность блока не будет отрабатываться. | False | Логическое значение |
Параметры безопасности
| Название в UI | Название атрибута | Описание | Значение по умолчанию | Тип данных |
|---|---|---|---|---|
| Access Key | accessKey | Ключ доступа к Amazon AWS. | Строка | |
| Profile Credentials Name | profileCredentialsName | Если используется поставщик учетных данных профиля, то этот параметр задает имя профиля. | Строка | |
| Secret Key | secretKey | Секретный ключ Amazon AWS. | Строка | |
| Session Token | sessionToken | Токен сессии Amazon AWS, используемый, когда пользователю необходимо присвоить роль IAM. | Строка | |
| Trust All Certificates | trustAllCertificates | Задает надо ли доверять всем сертификатам в случае переопределения конечной точки. | False | Логическое значение |
| Use Default Credentials Provider | useDefaultCredentialsProvider | Задает должен ли S3 клиент ожидать загрузки учетных данных через дефолтного поставщика учетных данных. | False | Логическое значение |
| Use Profile Credentials Provider | useProfileCredentialsProvider | Задает должен ли S3 клиент ожидать загрузки учетных данных через поставщика учетных данных профиля. | False | Логическое значение |
| Use Session Credentials | useSessionCredentials | Задает должен ли S3 клиент использовать учетные данные сессии. Это полезно в ситуации, когда пользователю необходимо принять на себя роль IAM для выполнения операций в S3. | False | Логическое значение |